$(function(){  
	var userTab = function(){};
	
	userTab.prototype = {
			init : function(option){
				var context = this;
				
				this.namespace = option.namespace || {}
				this.gridId = option.gridId || {}
				this.toolbar = option.toolbar || {}
				this.dlg = option.dlg || {}
				this.dlgButtons = option.dlgButtons || {}
				
				this.url;
				
				// 事件通知
				this.observer = {
						onClickAddUserTab : function() {
							context.onAddUserTab();
						},
						onClickEditUserTab : function() {
							context.onEditUserTab();
						},
						onClickRemoveUserTab : function() {
							context.onRemoveUserTab();
						},
						onClickSearchUserTab : function() {
							context.onSearchUserTab();
						},
						onClickSaveUserTab : function() {
							context.onSaveUserTab();
						}
				};
			},
			
			// 初始化数据或给对象绑定事件
			initData : function(){
				// 绑定事件
				$('#'+ this.toolbar).find('a[iconCls="icon-add"]').on('click', this.observer.onClickAddUserTab);
				$('#'+ this.toolbar).find('a[iconCls="icon-edit"]').on('click', this.observer.onClickEditUserTab);
				$('#'+ this.toolbar).find('a[iconCls="icon-remove"]').on('click', this.observer.onClickRemoveUserTab);
				$('#'+ this.toolbar).find('a[iconCls="icon-search"]').on('click', this.observer.onClickSearchUserTab);
				
				$('#'+ this.dlgButtons).find('a[iconCls="icon-ok"]').on('click', this.observer.onClickSaveUserTab);
			},
			
			onAddUserTab : function() {
				$('#'+ this.dlg).dialog('open').dialog('setTitle','新增');
				$('#'+ this.dlg).find('form').form('clear');
				this.url = 'ajaxAdd';
			},
			
			onEditUserTab : function() {
				var that = this;
				var row = $('#'+this.gridId).datagrid('getSelected');
				if (row){
					$('#'+ this.dlg).dialog('open').dialog('setTitle','编辑');
					$('#'+ this.dlg).find('form').form('load', row);
					that.url = 'ajaxModify';
				}else {
					$.messager.alert('提示信息', '请选择要修改的信息！', 'info');
				}
			},
			
			onRemoveUserTab : function() {
				var that = this;
				var row = $('#'+that.gridId).datagrid('getSelected');
				if (row){
					$.messager.confirm('确认信息','你确定要删除这条信息吗?', function(r){
						if (r){
							$.post('ajaxRemove', {userId : row.userId}, function(result){
								if (result.success){
									$('#'+that.gridId).datagrid('reload');	// reload the user data
								} else {
									$.messager.alert('提示信息', '删除失败，请联系管理员！', 'warning');
								}
							}, 'json');
						}
					});
				} else {
					$.messager.alert('提示信息', '请选择要删除的信息！', 'info');
				}
			},
			
			onSearchUserTab : function() {
				$.messager.alert('提示信息', '根据业务需求添加条件！', 'info');
			},
			
			onSaveUserTab : function() {
				var that = this;
				var isValid = $('#'+ that.dlg).find('form').form('validate');
	    		if(isValid){
	    			$.post(that.url, $('#'+ that.dlg).find('form').serialize(), function(json){
	    				if(json.success){
	    					$.messager.alert('提示信息', json.data, 'info');
	    					$('#'+ that.dlg).dialog('close');
	    					$('#'+that.gridId).datagrid('reload');
	    				} else {
							$.messager.alert('提示信息', '添加失败，请联系管理员！', 'warning');
						}
	    			 });
	    		}
			}
	};
	
	UserTab = Class.extend(userTab.prototype);
	
});

